\start83\
\comment=Programm Dateidatum 08/26/01, 15:17
\name=MEMORY
\file=C:\PROGRA~1\TI-GRA~1\MEMORY.TXT
ClrHome
For(Y,2,7
For(X,2,15
Output(Y,X,"O
End
End
Output(4,4," MEMORY  
Output(5,4," By\1\HvdB 
Output(5,7," 
Pause 
0\->\N
Repeat 1
Lbl M
End
Lbl M1
ClrHome
Disp "  <<<MEMORY>>>
Disp "1)\N\EW GAME
Disp "2)LOAD GAME
Disp "3)HIGHSCORE
Disp "4)HELP
Disp "5)EXIT
Output(7,10,"]------
Input "-------[",\theta\
ClrHome
If \theta\=2
Goto L
If \theta\=3
Goto H
If \theta\=4
Goto I
If \theta\=5
Goto E
6\->\dim(\L\MEM
0\->\T
0\->\P
ClrHome
Disp "
Disp " <<DIFFICULTY>>
Disp "1)EASY
Disp "2)MEDIUM
Disp "3)HARD
Disp "4)CANCEL
Output(7,10,"]------
Input "-------[",\theta\
If \theta\=4
Goto M1
DelVar [E]
DelVar [F]
If \theta\=2
Goto D2
If \theta\=3
Goto D3
{3,4}\->\dim([E]
{3,4}\->\dim([F]
6\->\N
4\->\X
3\->\Y
Goto GM
Lbl D2
{4,5}\->\dim([E]
{4,5}\->\dim([F]
10\->\N
4\->\Y
5\->\X
Goto GM
Lbl D3
{6,8}\->\dim([E]
{6,8}\->\dim([F]
24\->\N
8\->\X
6\->\Y
Lbl GM
ClrHome
Output(4,1,"GENERATING MAZE
Output(5,2,"PLEASE WAIT...
For(\theta\,1,N
For(Z,1,2
Lbl NP
randInt(1,Y\->\R
randInt(1,X\->\C
If 0\!=\[E](R,C
Goto NP
\theta\\->\[E](R,C
End
For(A,1,int(\theta\/N*16
Output(8,A,"*
End
End
Output(4,1," MAZE GENERATED
Output(5,2,"PRESS ENTER TO
Output(6,5,"CONTINUE
Pause 
Lbl SG
":\theta\+*\pi\[]{}\EE\\xbar\\ybar\\p^\!/\->\Str6
If N=6
Then
5\->\I
3\->\J
4\->\X
3\->\Y
End
If N=10
Then
5\->\I
2\->\J
5\->\X
4\->\Y
End
If N=24
Then
4\->\I
1\->\J
8\->\X
6\->\Y
End
1\->\A
1\->\B
0\->\S
0\->\C
ClrHome
For(\theta\,1,X
For(Z,1,Y
If 0=[F](Z,\theta\
Then
Output(Z+J,\theta\+I,"O
Else
If 9\>=\[E](Z,\theta\
Then
Output(Z+J,\theta\+I,[E](Z,\theta\
Else
Output(Z+J,\theta\+I,sub(Str6,[E](Z,\theta\)-9,1
End
End
End
End
Lbl MC
0\->\G
While S=0
For(\theta\,1,50
End
Output(B+J,A+I," 
For(\theta\,1,50
End
If 0=[F](B,A
Then
Output(B+J,A+I,"O
Else
If 9\>=\[E](B,A
Then
Output(B+J,A+I,[E](B,A
Else
Output(B+J,A+I,sub(Str6,[E](B,A)-9,1
End
End
getKey\->\K
A-(Ans=24 and A>1)+(Ans=26 and A<X\->\A
B-(K=25 and B>1)+(K=34 and B<Y\->\B
If K=21
1\->\S
If K=22
2\->\S
End
If S=2
Goto M1
0\->\S
If 1=[F](B,A
Goto MC
1\->\[F](B,A
If C=0
Then
A\->\D
B\->\E
1\->\G
1\->\C
End
If G=1
Goto MC
If 9\>=\[E](B,A
Then
Output(B+J,A+I,[E](B,A
Else
Output(B+J,A+I,sub(Str6,[E](B,A)-9,1
End
getKey
While Ans\!=\21
getKey
End
If [E](B,A)=[E](E,D
Then
1\->\S
P+1\->\P
End
S\->\[F](B,A
S\->\[F](E,D
If S=0
Then
Output(B+J,A+I,"O
Output(E+J,D+I,"O
End
T+1\->\T
0\->\C
0\->\S
N\->\\L\MEM(1
T\->\\L\MEM(2
P\->\\L\MEM(3
If P<N
Goto MC
ClrHome
Output(4,5,"YOU WON!
Output(5,3,"YOU TRIED
Output(5,13,T
Output(6,6,"TIMES.
DelVar [E]
DelVar [F]
Pause 
ClrHome
If (0=\L\MEM(4) and N=6) or (0=\L\MEM(5) and N=10) or (0=\L\MEM(6) and N=24)
Then
Output(4,3,"THIS IS THE
Output(5,2,"FIRST RECORD.
If N=6
T\->\\L\MEM(4
If N=10
T\->\\L\MEM(5
If N=24
T\->\\L\MEM(6
0\->\N
End
If (N=6 and T\>=\\L\MEM(4)) or (N=10 and T\>=\\L\MEM(5)) or (N=24 and T\>=\\L\MEM(6
Then
Output(4,2,"THE RECORD IS
Output(5,6,"STILL
If N=6
4\->\H
If N=10
5\->\H
If N=24
6\->\H
Output(5,12,\L\MEM(H
End
If (N=6 and T<\L\MEM(4)) or (N=10 and T<\L\MEM(5)) or (N=24 and T<\L\MEM(6
Then
Output(4,2,"YOU BROKE THE
Output(5,4,"HIGHSCORE!
If N=6
T\->\\L\MEM(4
If N=10
T\->\\L\MEM(5
If N=24
T\->\\L\MEM(6
End
0\->\\L\MEM(1
Pause 
Goto M1
Lbl L
0\->\G
6\->\dim(\L\MEM
If 0=\L\MEM(1
Then
Output(4,2,"NO SAVED GAME
Output(5,4,"AVAILABLE
Pause 
Goto M
End
\L\MEM(1\->\N
\L\MEM(2\->\T
\L\MEM(3\->\P
Output(4,3,"GAME LOADED.
Output(5,2,"PRESS ENTER TO
Output(6,5,"CONTINUE
Pause 
Goto SG
Lbl H
ClrHome
Disp "
Disp " <<MEM HIGHS>>
Disp "1)VIEW
Disp "2)RESET
Disp "3)CANCEL
Output(6,10,"]------
Input "-------[",\theta\
ClrHome
If \theta\=1
Then
6\->\dim(\L\MEM
Disp "
Disp "<<SELECT HIGH>>
Disp "1)EASY
Disp "2)MEDIUM
Disp "3)HARD
Disp "4)CANCEL
Output(7,10,"]------
Input "-------[",\theta\
If \theta\=4
Goto M
\L\MEM(\theta\+3\->\H
ClrHome
If H=0
Then
Output(4,3,"NO CURRENT
Output(5,3,"RECORD MADE
Else
Output(4,3,"THE CURRENT
Output(5,1,"HIGHSCORE IS
Output(5,14,H
End
Pause 
Goto M
End
If \theta\=2
Then
Disp "
Disp "<<SELECT HIGH>>
Disp "1)EASY
Disp "2)MEDIUM
Disp "3)HARD
Disp "4)CANCEL
Output(7,10,"]------
Input "-------[",\theta\
If \theta\=4
Goto M
\theta\\->\H
ClrHome
Disp "
Disp "
Disp "  <<CONFIRM>>
Disp "1)RESET
Disp "2)CANCEL
Output(6,10,"]------
Input "-------[",\theta\
If \theta\=1
Then
0\->\\L\MEM(H+3
ClrHome
Output(4,4,"HIGHSCORE
Output(5,4,"RESETTED
Pause 
End
Goto M
End
Goto M1
Lbl I
ClrHome
Disp "    <<HELP>>
Disp "CURSOR KEYS:
Disp "MOVE SELECTION
Disp "CURSOR
Disp "2ND: TURN OVER
Disp "CARD
Pause "MODE: GO TO MENU
Goto M1
Lbl E
ClrHome
Output(1,1,"
\stop83\

